Numerous examples of content addressable memories (CAMs) exist, including U.S. Pat. No. 6,999,331, granted Feb. 14, 2006 to Huang; U.S. Pat. No. 6,389,579, granted May 14, 2002 to Phillips et al.; as well as a serial CAM; U.S. Pat. No. 7,369,422 granted May 6, 2008 to Cooke. They all refer to providing output associated with the occurrence of data that is equivalent to the data inputted into the CAM. Most CAMs compare all inputted bits, with all corresponding bits, in all words, in memory, in parallel. Cooke's serial CAM serially compares each inputted bit of data with all the corresponding bits of data in all words in memory. The current state of comparison is retained for each word as the CAM proceeds serially through all the bits in memory.
Traditionally, CAMs have been used in computer cache, virtual address translation and routers, but not in more computationally intense “fuzzy” applications such as visual identification or speech recognition, both of which require some form of best-fit selection. Furthermore, historically these types of pattern recognition applications have been computationally expensive and slow.